﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public class MapCell
    {

// ---------------------------------------------- Deklaration der Variablen ----------------------------------------------

        private int x;
        private int y;

        

        private bool isWalkable;
        private bool isHuntable;
        private bool isForest;
        private bool isWater;

// --------------------------------------------- Konstruktor Initialisierung ---------------------------------------------

        /*
         * Konstruktor der MapCell
         * Informationen werden aus der Liste ausgelesen und in die jeweilige Variable
         * abgespeichert und weiter verwendet
         * @param mapCellInformations beinhaltet sämtliche Informationen in einer Liste aus Strings 
         */
        public MapCell(int row, int column, bool isWalkable, bool isHuntable, bool isForest, bool isWater)
        {
            this.x = row;
            this.y = column;
            this.isWalkable = isWalkable;
            this.isHuntable = isHuntable;
            this.isForest = isForest;
            this.isWater = isWater;
        }

         


// ------------------------------------------------ Getter/Setter-Methoden -----------------------------------------------

        /*
         * Getter/Setter-Methoden für die Verwaltung der Zelleigenschaften,
         * Walkable, Huntable, Forest, Water
         * @return gibt den boolischen Wert zur Eigenschaft der Zelle zurück
         */
        public bool IsWalkable
        {
            get 
            { 
                return isWalkable; 
            }
            set 
            { 
                isWalkable = value; 
            }
        }

        public bool IsHuntable
        {
            get 
            { 
                return isHuntable; 
            }
            set 
            { 
                this.isHuntable = value; 
            }
        }

        public bool IsForest
        {
            get 
            { 
                return isForest; 
            }
            set 
            { 
                this.isForest = value; 
            }
        }

        public bool IsWater
        {
            get { return isWater; }
            set { isWater = value; }
        }


        public int X
        {
            get
            {
                return this.x;
            }
            set
            {
                this.x = value;
            }
        }

        public int Y
        {
            get
            {
                return this.y;
            }
            set
            {
                this.y = value;
            }
        }

    }
    
}
